package com.lxl.listNode;


/**
 *
 * @author lxl
 * @create 2025-09-30 21:19
 * @description
 * 给你两个单链表的头节点 headA 和 headB ，
 * 请你找出并返回两个单链表相交的起始节点。
 * 如果两个链表不存在相交节点，返回 null 。
 **/


public class GetIntersectionNode {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        if(headA == null || headB == null){
            return null;
        }

        ListNode p = headA;
        ListNode q = headB;
        while(p != q){
            p = (p == null) ? headB : p.next;  // 改为 p.next
            q = (q == null) ? headA : q.next;  // 改为 q.next
        }
        return p;
    }
}
